Repository navigation
Notebook redesign 3: the axes step shows the data as the roles read it; pixel size in one line - #272
Merged
Merged
Conversation
…d it; pixel size in one line Owner test of v0.5.0 (10 November 2026), items (e) and (f); the per-unit pixel size menu. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Contributor
Author
|
Gate: The stack is #269, #270, #272 (this), #273. 🤖 Generated with Claude Code https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc Generated by Claude Code |
…n-3-axes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
The one-size-for-all statement removed the X and Y statements of single folders and images (and overrode the header sizes) at the first click, without naming them. It now lists the statements it removes or replaces and the sizes the images have now, and writes only after Replace them; under the lock it refuses when calibration.csv changed since they were shown. With nothing to replace it writes at once, as before. Regression tests in tests/test_notebook_axes_example.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Contributor
Author
|
Independent review, merged.
🤖 Generated with Claude Code https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc Generated by Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Third of four stacked pull requests (base: #270). Owner's test of v0.5.0, items (e) "the axis step must show an example of the data as interpreted by the chosen roles" and (f) "pixel sizes are too complex: handle them with the axes", with the owner's later requirement for (f): one pixel size for the whole experiment by default, a per-imaging-unit menu, and a clear line when the headers disagree. Design note:
docs/restart/designs/notebook-redesign-2026-11-10.mdon MorphoFeature branchclaude/restart-doc.The shipped notebook has 12 steps: Pixel sizes is part of Axes.
Summary
axis_example(new, pure) chooses the planes: one tile per channel labelledc=…(six evenly spread beyond six), a few time pointst=…or depth slicesz=…, or the single plane; each row is read at the sliders' position of the other axes.notebook_plots.example_pngdraws them with their true proportions and their height and width, so a wrong role looks wrong.notebook_axis_step/notebook_axis_preview: the example is drawn by the folder check itself and redrawn for every role change (the tick is taken back, as before). The role boxes and the example sit side by side; the image chooser and the sliders are under Another image, or other planes. Show preview is hidden (the button still works for bricks that click it). The planes are read exactly as the preview read them: with the roles being edited, only the image as the folder check read it (fingerprint before and after), labelled not confirmed yet.notebook_axes_quick: the Suggested axes card and the Look closer fold are gone; while the one click is offered it replaces the tick and the button, under the always-visible role boxes and example.pixel_size_summary(new, pure) andnotebook_calibration: the card is one line, "Pixel size: 0.108 × 0.108 µm (from the headers, same in all 270 images)". With no size in the headers there is one input and Use for all images; with one, the input is behind Change the pixel size…. When the images do not agree: "Headers disagree: 0.108 × 0.108 µm in 180 images, 0.216 × 0.216 µm in 90 (Condition_2/Biological_repeat_2)", and Set per imaging unit… opens by itself: the size of each folder, and the existing form to state a size for a folder or an image.notebook_steps/notebook_step_states: 12 steps; the axes chip carries the pixel-size note (✓ 2 Axes · uncalibrated).Decisions
calibration.csvstatement for., a folder or an image, written by thecalibratefunctions under the lock; the most specific applies; the manifest records each image's size with its source (header,stated,pixels, none). The experiment description holds no pixel size (Spec experiment-v1 forbids the field), so the Spec forces nothing here..for X and Y and removes X and Y statements of single folders and images (they would otherwise still win); Z statements are kept. A stated size that differs from a header is still warned about (calibration_differs_from_header).Notes for review
axis_step()(other bricks) gets the same layout and the automatic example; the pixel size card stays in theirfolder_step().Tests
python tools/check.pyon the head: see the comment below for the numbers. New:tests/test_notebook_axes_example.py(20): which planes are shown and their labels, the picture, each pixel-size line (one size, none, pixels, disagreeing headers with counts and folders, header and stated), the per-unit rows, the example drawn by the check and redrawn on a role change, the planes it reads, one input for all, a wrong size refused, disagreeing headers left as they are, a per-unit statement then one for all.Generated by Claude Code